FIG. 1 is a block schematic diagram of a conventional process control system 100 comprising a process controller 110 interfaced to a plurality of input/output (IO) modules 120 shown as IO modules 1201, 1202, . . . 120n. Although not shown, the IO modules 120 each generally connect on the side opposite the process controller 110 to a plurality of IO field devices to allow control of the process being controlled by the process controller 110. As known in the art, IO field devices can comprise gauges, valves, sensors at an industrial plant that runs a physical (industrial or manufacturing) process which generates a tangible product. Process controller 110 includes a central processing unit (CPU)/central computer 111 having internal memory 111a (e.g., register memory), and a serial communication engine 112. A Serial Peripheral Interface (SPI) bus provides a synchronous serial data link that operates in full duplex mode between the process controller 110 and the IO modules 1201, 1202, . . . 120n. Each of the IO modules 1201, 1202, . . . 120n has an SPI port.
SPI specifies four logic signals. These signals are (i) CLK (serial clock) output from controller/master (controller); (ii) MOSI; SIMO: controller/master output, IO module/slave input (output from controller/master); (iii) MISO; SOMI controller/master input, IO module/slave output (output from slave); and (iv) separate/independent IO module/slave select signals (active low, output from controller/master) shown as MS1, MS2, MSn.
The IO modules 1201, 1202, . . . 120n are connected in a daisy chain configuration where the outputs (MISO) of the respective IO modules 1201, 1202, . . . 120n can be seen to all be connected together. Respective IO modules 120 communicate in master/slave mode where the process controller 110 acting as the master device forms the messages to be sent to the slave device in its memory 111a to initiate data frames to form a multi-frame message.
The multi-frame message is then sent to a single selected slave IO module 1201, 1202, . . . 120n, at a time enabled by the individual slave select (chip select) lines MS1, MS2, MSn provided by serial communication engine 112. In addition, the message received by the process controller 110 from any of the IO modules 120 . . . 120n is placed into the memory 111a of the process controller 110. The serial data transfer rate for control system 100 is mainly set by the data transfer between the IO modules 120 based on the data transfer rate of the media (e.g., copper traces on a backplane or other types of wired connections) and the duration of the worst case of the IO modules' 1201, 1202, . . . 120n data transfer time. Data transfers between known process control systems, such as control system 100 in common use at plants, are typically de-rated as the number of IO modules 1201, 1202, . . . 120n grows based upon number and types of IO modules. This data transfer limitation increases both the complexity and cost of the control system 100.
Moreover, serial communications between daisy-chained IO modules 120 inherently has a single point of failure, being the media. This aspect limits the overall availability of the system 100 lowering its mean time between failures and can also increase the mean time to repair. Moreover, data from the IO modules 1201, 1202, . . . 120n to the process controller 110 cannot be streamed data (back-to-back) since there is some data processing time required for the microprocessor or microcontroller at the CPU 111 to perform data processing after the data is received by the serial communication engine 112. This processing time further limits the amount of data that can be communicated in a selected window of time.